Extensible Metatheory Mechanization via Family Polymorphism

نویسندگان

چکیده

With the growing practice of mechanizing language metatheories, it has become ever more pressing that interactive theorem provers make easy to write reusable, extensible code and proofs. This paper presents a novel design geared towards metatheory mechanization in proof assistant. The new achieves reuse extensibility via form family polymorphism, an object-oriented idea, allows proofs be polymorphic their enclosing families. Our development addresses technical challenges arise from underlying assistant being simultaneously functional, dependently typed, logic, tool. results include (1) prototypical implementation as Coq plugin, (2) dependent type theory capturing essence mechanism its consistency canonicity results, (3) case studies showing how expressiveness naturally real programming mechanization.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Theoretical and implementation aspects in the mechanization of the metatheory of programming languages

Interactive theorem provers are tools designed for the certification of formal proofs developed by means of man-machine collaboration. Formal proofs obtained in this way cover a large variety of logical theories, ranging from the branches of mainstream mathematics, to the field of software verification. The border between these two worlds is marked by results in theoretical computer science and...

متن کامل

Bounded Polymorphism for Extensible Objects

In the ECOOP’97 conference, the author of the present paper investigated a conservative extension, called Ob+1<:, of the first-order Object Calculus Ob1<: of Abadi and Cardelli, supporting method extension in presence of object subsumption. In this paper, we extend that work with explicit variance annotations and selftypes. The resulting calculus, called Ob+s<:, is a proper extension of Ob+1<:....

متن کامل

An extensible approach to session polymorphism

Session types describe and constrain the input/output behavior of systems. Existing session typing systems have limited support for polymorphism. For example, existing systems cannot provide the most general type for a generic proxy process that forwards messages between two channels. We provide a polymorphic session typing system for the π calculus, and demonstrate the utility of session-type-...

متن کامل

Family Polymorphism

This paper takes polymorphism to the multi-object level. Traditional inheritance, polymorphism, and late binding interact nicely to provide both flexibility and safety – when a method is invoked on an object via a polymorphic reference, late binding ensures that we get the appropriate implementation of that method for the actual object. We are granted the flexibility of using different kinds of...

متن کامل

Extensible Adaptation via Constraint Solving

This work presents the design, implementation, and evaluation of a simple programming language for expressing scheduling policies for transmission of multiple objects across a shared network connection. A key design component of the language is the ability to express constraints among the objects to be transmitted. Policies can: make ordering constraints, such as “all text objects are transmitt...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2023

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3591286